/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package stud.cp.user.valueobjects;

import java.math.BigInteger;

/**
 * Класс, описывающий запись таблицы object_type.
 *
 * @author Morfant
 */
public class DBObjectType {

    /**
     * Конструктор, позволяющий создать ValueObject для записи таблицы
     * object_type. Создает объект с object_type_id = -1, указывающее DAO классу
     * создать новую запись.
     *
     * @param name Имя
     * @param description Описание
     */
    public DBObjectType(String name, String description, BigInteger parentId, Boolean isAbstract) {
        this(new BigInteger("-1"), name, description, parentId, isAbstract);
    }

    /**
     * Конструктор, позволяющий создать ValueObject для записи таблицы
     * object_type.
     *
     * @param object_type_id Id объекта
     * @param name Имя
     * @param description Описание
     */
    public DBObjectType(BigInteger object_type_id, String name, String description, BigInteger parentId, Boolean isAbstract) {
        this.object_type_id = object_type_id;
        this.name = name;
        this.description = description;
        this.isAbstract = isAbstract;
        this.parentId = parentId;
    }

    /**
     * Получить описание.
     *
     * @return Описание.
     */
    public String getDescription() {
        return description;
    }

    /**
     * Установить описание
     *
     * @param description Описание
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * Получить имя
     *
     * @return Имя
     */
    public String getName() {
        return name;
    }

    /**
     * Установить имя
     *
     * @param name Имя
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * Получить id объекта
     *
     * @return Id объекта
     */
    public BigInteger getObject_type_id() {
        return object_type_id;
    }

    /**
     * Установить значение Id объекта
     *
     * @param object_type_id Id объекта
     */
    public void setObject_type_id(BigInteger object_type_id) {
        this.object_type_id = object_type_id;
    }

    public Boolean getIsAbstract() {
        return isAbstract;
    }

    public void setIsAbstract(Boolean isAbstract) {
        this.isAbstract = isAbstract;
    }

    public BigInteger getParentId() {
        return parentId;
    }

    public void setParentId(BigInteger parentId) {
        this.parentId = parentId;
    }
    /**
     * Имя
     */
    private String name;
    /**
     * Описание
     */
    private String description;
    /**
     * Id объекта
     */
    private BigInteger object_type_id;
    private Boolean isAbstract;
    private BigInteger parentId;
}
